$(function(){
	//превращаем таблицу товаров в список
		$(".by-blocks span").live("click",function(){
				if($(".parts-list").html())
					return false;
				var table=$(".table-wrap .table tbody tr");
				var ul	=	$('<ul class="parts-list"></ul>');
				$(".middle-title-wrap").after(ul);
				table.each(function(){
					var nazvanie=	$("td",this).eq(1).text();
					var photo=	$("td",this).eq(0).html();
					var rozn_cena=	$("td",this).eq(2).text();
					var opt_cena=	$("td",this).eq(3).text();
					var nalichie	=	$("td",this).eq(4).html();
					var template	=	$('<li class="parts-list__item"><h3 class="product__title"><a href="#">'+nazvanie+'</a></h3><div class="parts-list__left"><div class="product__photo">'+photo+'</div><dl class="availability-goods"><dt>Наличие</dt><dd class="nalichie">'+nalichie+'</dd></dl></div><div class="parts-list__right"><p class="rozn_cena">розн. '+rozn_cena+'</p><p class="color-blue opt_cena">опт. '+opt_cena+'</p><ul class="number-navi"><li><span class="arrow back" onclick="counter._minus(this)"><span>Назад</span></span></li><li><input type="text" class="type-text" value="1" onchange="counter._tovar_manual(this);"></li><li><span onclick="counter._plus(this)" class="arrow forward"><span>Вперёд</span></span></li></ul><a class="global-button" onclick="basket._add(this)" href="#"><span class="global-button__inner">в корзину</span></a></div></li>');
					template.css({"display":"none"});				
					ul.append(template);
					template.fadeIn("500");
				});
				$(".table-wrap").remove();
				return false;
		});
		
		//превращаем список товаров в таблицу
		$(".by-rows span").live("click",function(){
			if($(".table-wrap").html())
				return false;
			var table	=	$('<div class="table-wrap"><div class="table-wrap__inner"><table class="table"><thead><tr><th class="table__photo"><span class="table__title">Фото</span></th><th><span class="table__title">Наименование<span class="table__arrow top">&nbsp;</span><span class="table__arrow bottom">&nbsp;</span></span></th><th><span class="table__title">розн.<span class="table__arrow top">&nbsp;</span><span class="table__arrow bottom">&nbsp;</span></span></th><th><span class="table__title">опт.<span class="table__arrow top">&nbsp;</span><span class="table__arrow bottom">&nbsp;</span></span></th><th><span class="table__title">Наличие<span class="table__arrow top">&nbsp;</span><span class="table__arrow bottom">&nbsp;</span></span></th><th class="last"><span class="table__title">Заказать</span></th></tr></thead><tbody></tbody></table></div></div>');
			var tbody=table.find("tbody");
			$(".middle-title-wrap").after(table);
			var ul	=	$("ul.parts-list li.parts-list__item");
			var i=0;
			ul.each(function(){
				var tr_class="";
				if((i+1)%2==0)
				{
					tr_class=' class="alternation" ';
				}
				i++;
				var nazvanie=	$(this).children(".product__title").text();
				var photo=	$("div.product__photo",this).html();
				var rozn_cena=	$(".rozn_cena",this).text().replace(/[^\d]+/,"");
				var opt_cena=	$(".opt_cena",this).text().replace(/[^\d]+/,"");
				var nalichie	=	$(".nalichie",this).html();
				var tr	=	$('<tr '+tr_class+'><td class="table__photo"><div class="product__photo">'+photo+'</div></td><td><h3 class="product__title">'+nazvanie+'</h3></td><td>'+rozn_cena+'</td><td class="color-blue">'+opt_cena+'</td><td>'+nalichie+'</td><td><ul class="number-navi"><li><span class="arrow back" onclick="counter._minus(this)"><span>Назад</span></span></li><li><input type="text" class="type-text" value="1" onchange="counter._tovar_manual(this)"></li><li><span class="arrow forward" onclick="counter._plus(this)"><span>Вперёд</span></span></li></ul><a class="global-button" onclick="basket._add(this)" href="#"><span class="global-button__inner">в корзину</span></a></td></tr>');
				tbody.append(tr);
			});
			tbody.appendTo(table.children("table"));
			ul.remove();
			return false;
		});
	});
		function Counter()
		{
			//увеличить кол-во товара
			this._plus = function (object)
			{
				var element=$(object).parent().prev().children("[type=text]");
				var current_value	=	parseInt(element.val());
				element.val(current_value+1);
				//если это корзина то делаем ajax обновление
				if($(object).parents("li[basket_id]").length)
				{
					var basket_id	=	$(object).parents("li[basket_id]").attr("basket_id");
					$.post('?ajax=store_basket',{'event':"update",'basket_id':basket_id,'kol_vo':(current_value+1)});
				}
				return false;
			};
			
			//уменьшение кол-ва товара
			this._minus = function (object)
			{
				var element=$(object).parent().next().children("[type=text]");
				var current_value	=	parseInt(element.val());
				if((current_value-1)==0)
					return false;
				element.val(current_value-1);
				//если это корзина то делаем ajax обновление
				if($(object).parents("li[basket_id]").length)
				{
					var basket_id	=	$(object).parents("li[basket_id]").attr("basket_id");
					$.post('?ajax=store_basket',{'event':"update",'basket_id':basket_id,'kol_vo':(current_value-1)});
				}
				return false;
			};
			
			//изменить значение товара
			this._manual = function (object)
			{
				var element	=	$(object);
				val=element.val();
				preg	=	new  RegExp('[a-zа-я]','i');
				if(val.match(preg))
				{
					element.val(1);
					return false;
				}
				//если это корзина то делаем ajax обновление
				if($(object).parents("li[basket_id]").length)
				{
					var basket_id	=	$(object).parents("li[basket_id]").attr("basket_id");
					$.post("?ajax=store_basket",{'event':"update",'basket_id':basket_id,'kol_vo':val});
				}
				return false;
			};
		}
		
		//класс корзины
		function Basket()
		{
		
			//тип пользователя (0-обычный|1-оптовый)
			this.user_type	=	0;
		
			//добавление товара
			this._add=function(object){
			  var tovar_id	=	$(object).attr('rel');
				var basket_parent	=	$(".shopping-cart__navi");
				var basket	=	$(".shopping-cart__list");
				var offset	=	basket_parent.offset();
				var last_class	=	basket.children("li:last");
				var button	=	$(object);
				var photo_offset="";
				if(button.parent("td").html())
				{
					var photo	=	button.parents("tr").find("td:eq(0) .product__photo");
					var nazvanie	=	button.parents("tr").children("td:eq(1)").text();
					if(this.user_type==0)
						var cena	=	button.parents("tr").children("td:eq(3)").text();
					else
						var cena	= button.parents("tr").children("td:eq(4)").text();
					var kol_vo	=	button.prev("ul").children("li:eq(1)").children("[type=text]").val();
				}
				else
				{
					var photo	=	button.parents(".parts-list__item").find(".product__photo");
					var nazvanie	=	button.parents(".parts-list__item").find(".product__title").text();
					if(this.user_type==0)
						var cena	=	button.parents(".parts-list__item").find(".rozn_cena").text();
					else
						var cena	=	button.parents(".parts-list__item").find(".opt_cena").text();
					var kol_vo	=	button.prev("ul").children("li:eq(1)").children("[type=text]").val();
				}
				var photo_offset	=	photo.offset();
				$.post('?ajax=store_basket',{'event':'add','kol_vo':kol_vo,'tovar_id':tovar_id},function(basket_id){
					var new_photo=photo.clone().appendTo("body");
					new_photo.css({
						"position":"absolute",
						"left":photo_offset.left,
						"top":photo_offset.top,
						"z-index":"99"
					});
					var offset	=	$(".shopping-cart").css("position","relative").offset();
					new_photo.animate({"left":offset.left,"top":offset.top},"slow",function(){
						$(this).fadeOut("slow",function(){
							$(this).remove();
						});
					});
					
					photo	=	photo.parent();
				var item =$('<li class="shopping-cart__item" basket_id="'+basket_id+'"><div class="product-item">'+photo.html()+'<div class="product__description"><h3 class="product__title"><a href="#">'+nazvanie+'</a></h3></div></div><ul class="product-item__navi"><li class="product-item__navi__item"><ul class="number-navi"><li><span onclick="counter._minus(this)" class="arrow back" href="#"><span>Назад</span></span></li><li><input type="text" class="type-text" value="'+kol_vo+'" onchange="counter._tovar_manual(this)"></li><li><span class="arrow forward" onclick="counter._plus(this)"><span>Вперёд</span></span></li></ul></li><li class="product-item__navi__item"><span class="color-blue">'+cena+'</span></li><li class="product-item__navi__item"><a class="delete" href="basket.php?id='+basket_id+'" onclick="basket._del(this)">удалить <small>x</small></a></li></ul></li>');
				
				if(!last_class.hasClass("alternation"))
					item.addClass("alternation");
				
				basket.append(item);
					
				});
				return false;
			};
			//удаление товара
			this._del=function(object){
				var item	=	$(object);
				basket_id	=	item.parents("li[basket_id]").attr("basket_id");
				$.post('?ajax=store_basket',{'basket_id':basket_id,'event':"delete"},function(){
					item.parents("li.shopping-cart__item").slideUp("500",function(){
						$(this).remove();
					});
				});
				return false;
			};
			//вычисление суммы товара
			this._summ=function(){};
			//вычисление кол-во товара
			this._count=function(){};
		}
		
		function Table()
		{
			/*
			сортировка
			параметры:
				object - javascript объект this
				url - адрес,
				element	-	елемент который обновится после успешного запроса
			*/
			this._sort=function(object,	asc)
			{
				th=$(object).parents('tr').find('span');
				
				th.each(function(i,v){
					$(v).removeClass('active');
				});
			
				cell_name=$(object).addClass('active').parent().attr('cell_name');
				$.post('?ajax=store_product_list',{'sort':asc?'0':'1','field_name':cell_name},function(html){
						if(html)
							$(object).parents('table').find('tbody').html(html);
					});
					return false;
				};
			
			this._pagination	=	function(object,url,element)
			{
			$("*").addClass("load_cursor");
				//делаем активной выбранную страницу
				var li	=	$(object).parents("ul").children("li");
				li.each(function(i,v){
					$(v).removeClass("selected");
				});
				$(object).parent().addClass("selected");
				
				//аякс запрос на получение списка
				$.get(url,{ajax:true},function(html){
					eval(html);
					$(element).empty().html(html.table);
					$(".page-navi").empty().html(html.pagination);
					$("*").removeClass("load_cursor");
				});
			};
		}
		
		
		table	=	new Table();
		counter=new Counter();
		basket=new Basket();